#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>

#include <common.h>
#include <gpio.h>

char gpio_path[100] = "/sys/class/gpio";

/*
 *  函数名：gpio_config
 *  功能说明：配置GPIO属性
 *  参数：attr - 要配置的属性名
 *        val - 属性值
 *  返回值：int - 成功返回0，失败返回-1
 *  日期：2025年3月
 */
int gpio_config(const char *attr, const char *val)
{
    char file_path[256];
    int len;
    int fd;

    sprintf(file_path, "%s/%s", gpio_path, attr);
    if((fd = open(file_path, O_WRONLY)) < 0)
    {
        printf_d("open error\n");
        return fd;
    }

    len = strlen(val);
    if(len != write(fd, val, len))
    {
        printf_d("write error\n");
        close(fd);
        return -1;
    }

    close(fd);
    return 0;
}